<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <!-- 1、找到数组中出现最频繁的偶数

```
给你一个整数数组 nums ，返回出现最频繁的偶数元素。

如果存在多个满足条件的元素，只需要返回 最小 的一个。如果不存在这样的元素，返回 -1 。

示例 1：
输入：nums = [0,1,2,2,4,4,1]
输出：1
解释：
数组中的偶数元素为 0、2 和 4 ，在这些元素中，2 和 4 出现次数最多。
返回最小的那个，即返回 2 。
 -->
</head>
<body>
  <script>
    var mostFrequentEven = function(nums) {
      //Map 对象保存键值对，并且能够记住键的原始插入顺序。任何值（对象或者基本类型）都可以作为一个键或一个值。
    let count = new Map();
    for (let i of nums) {
        if (i % 2 == 0) {
          //Set 是唯一值的集合。每个值在 Set 中只能出现一次。一个 Set 可以容纳任何数据类型的任何值。
            count.set(i, (count.get(i) || 0) + 1);
        }
    }
    let res = -1, ct = 0;
    for (let [k, v] of count) {
        if (res == -1 || v > ct || v == ct && k < res) {
            res = k;
            ct = v;
        }
    }
    return res;
};
console.log(mostFrequentEven([0,1,-2,-2,4,4,1]));
  </script>
</body>
</html>